Environment

This page describes the Environment step of a solution. There you build a 3D model of the robot cell, check how well the robot reaches the bin, and compare the model with a real scan. It applies to Bin Picking Studio (BPS) solutions only, the CAD Picking and AI Picking solution types.

The page has a 3D viewer on the left and four tabs on the right:

Tab

What you do there

Scene

Build the collision model of the cell: bins, the floor, walls and other objects.

Robot

Move the virtual robot, show its working space and set the joint limits.

Vision

Show the calibrated vision systems in the cell and check the model against a scan.

Scene States

Define states of the cell that the robot program can switch between.

A typical order of work:

  1. Build the scene of the cell and click Save scene.

  2. Set the joint limits on the Robot tab.

  3. Click Generate to check the robot working space over the bin.

  4. After calibration, check the scene with a scan and move the models where needed.

  5. If the cell changes during picking, add scene states.

Scene

Path planning checks every trajectory for collisions with the point cloud, but the sensor never sees the whole cell. Objects outside its view, or hidden behind others, must be in the scene as collision objects. The scene must match the real cell at least within the reach of the robot.

Scene tab of the Environment page with a robot cell model of a frame and two pallets, and the object list

The Scene tab of a palletizing cell. The whole cell is one uploaded CAD model, Demo Cell. Red frames: Add object and the object list.

The help text of the Studio gives these tips for the scene:

  • The origin of the scene (point [0, 0, 0]) should be aligned with the origin of the robot base.

  • Collision objects should be made of simple bodies, such as boxes, that envelop everything in the working space of the robot. Make them slightly larger (“inflated”) than the real objects to avoid any chance of a collision. This also covers small differences between bins, and between the model and the real cell.

  • Keep CAD models at a reasonable number of faces. A large model may slow down path planning.

For a robot mounted on a wall or the ceiling, rotate the scene to match the real cell, see Robot mount orientation.

Object list

The object list is a tree. An object can have child objects, so you can move a whole group by moving its parent: for example, put several bins on a pallet and move only the pallet. Use + / − next to a parent to expand or collapse it, and drag an object onto another one to make it a child.

Each object has these controls:

  • Sync icon – shows whether the object is saved (Object synced).

  • Show object / Hide object – shows or hides the object in the viewer.

  • Duplicate object – adds a copy of the object.

  • Delete object – removes the object. Deleting a parent also deletes its children.

When the solution has more scene states, objects that belong to one state show its ID, and the state buttons above the list (1, 2, …) show one state at a time. See Scene States.

To add an object, click Add object and choose:

  • Upload STL – a CAD model of the object. Enter a name, choose the file and select the type.

  • Box, Sphere or Cylinder – a simple shape drawn in the viewer.

  • Group – an empty object that only holds child objects.

When an object is selected, the button changes to Add child object and adds the new object under the selected one.

Every object has one of three types:

Type

Colour

Use it for

Bin

Blue

Every model of a bin.

Environment

Grey

Other real objects near the robot.

Virtual collision object

Red, semi-transparent

Objects that are not real, for example to keep the robot out of an area or to show the walls of the cell while you can still see the robot inside.

Edit form and 3D object tools

Click an object in the list or in the viewer to select it. The selected object is red in the viewer, and the Edit scene object form opens below the list.

Edit scene object form of an uploaded CAD model with name, type, CAD file, scale, position and rotation

The Edit scene object form of an uploaded CAD model

Field

Description

Scene State

Any, or the scene state the object belongs to. See Scene states. The field is shown when the solution has more than one scene state.

Name

The name of the object.

Type

Bin, Environment or Virtual collision object.

Width / Height / Depth [mm]

The size of a box. A sphere has a radius, a cylinder a radius and a height.

CAD file (mesh)

Uploaded objects only: download or replace the STL model. For large files the Studio warns that “Bin Picking performance increases with the usage of smaller files” and suggests simplifying the model by reducing the number of faces.

Scale

Uploaded objects only: the scale of the model. The default is 1.

Position X/Y/Z [mm]

The position of the origin of the object, relative to the origin of its parent.

Rotation X/Y/Z [°]

The rotation of the object around its own origin.

The form can also show Opacity of object and Color of object. A group has only a name, a position and a rotation.

The 3D object tools below the viewer move the selected object with a marker:

  • Move, Rotate, Scale and Resize – drag the arrows or circles of the marker. Resize is for boxes and cylinders. To move by an exact amount, click an arrow or circle and type the value.

  • self / parent – rotate around the origin of the object or of its parent.

  • Close – ends the editing of the object.

After a change, the Save scene button above the list becomes active (it shows Saved when there is nothing to save). Save the scene before you use the Robot tab: the virtual robot works only with a saved scene.

Robot

The Robot tab needs a selected robot and a gripper with a tool point. It moves the virtual robot in the scene, shows its working space and sets the joint limits. Nothing you do here moves the real robot.

Robot tab of the Environment page with motion mode, joint values, default pose, the working space note and the joint limits note

The Robot tab of the palletizing cell. Red frames: Motion mode, the joint values and sliders, and Default pose with the copy and paste buttons and Highlight collisions. This robot has no Rapid IK solver, so the tab shows a note instead of Generate of the working space.

Robot controls

Motion mode decides how you move the robot:

Motion mode

How you move the robot

Joint

One joint at a time: drag its slider or type its value. Degrees / Radians switches the units.

Linear - Tool coordinate system

Move the tool point along the axes of the tool. Drag the marker at the tool point, drag its arrows (move) and circles (rotate), or type the pose.

Linear - Robot base coordinate system

The same, along the axes of the robot base.

Robot module

Shows the robot as reported by the robot module. Without a connected robot, the tab shows Robot disconnected!.

Animation of the virtual robot of the palletizing cell moving joint by joint

Moving the virtual robot joint by joint in Joint mode

The other controls:

  • Default pose – moves the robot to its default position.

  • Copy joints / Paste joints – copy the current joint values to the clipboard, or move the robot to copied values.

  • Highlight collisions ON / OFF – marks parts of the robot that collide.

Joint limits always apply when you move the robot. When a pose cannot be reached, the tab shows Unable to compute inverse kinematics (“It may be caused by robot reach, joint limits or robot singularities”). When the robot collides, it shows Robot is in collision (“Collision with environment or robot itself”).

Robot tab in Linear - Tool coordinate system mode with the marker at the tool point and the tool point position fields

Linear - Tool coordinate system mode: the marker at the tool point (arrows move, circles rotate) and the Tool point position fields

Robot working space

Click Generate to show where the robot can reach, with the current joint limits. The Studio’s help: “Robot’s ability to reach any place in the bin in various orientations is crucial for successful path planning. On the other hand, too much room for movement can also be a source of path planning failures.”

Robot working space shown as red to green dots around the robot and the bin

The robot working space. Green points can be reached from almost all directions, red points only from a few.

Aim for points in the upper, greener half of the colour range inside the bin and above it, where path planning takes place.

Note

The working space is available only for robots with the Rapid IK solver. For other robots the tab shows “Robot working volume is not available for robots without Rapid IK.”

Joint limits

Joint limits restrict the space in which path planning looks for trajectories. In bin picking the robot needs only part of its range, and good joint limits make path planning faster and more successful. Until you set them, the tab shows “Joint limits are not configured. It is strongly recommended to Set joint limits.”

  • Each joint has a lower and an upper limit, in degrees or radians.

  • “If a limit field is empty, the manufacturer’s default restrictions will be used. A user-set limit can only restrict the predefined range, not enlarge it.”

  • Limits that are too tight make path planning fail. Leave some room, and check with the robot controls and the working space that the robot reaches every part of the bin with different gripper orientations.

  • Click Save to apply the limits. Until then, the Studio warns that the joint limits are “in an inconsistent state with the robot control module”.

Joint limits section with a range slider and lower and upper value for each of six joints

Joint limits of the CAD Picking example solution. The grey values of joints 3 and 5 are empty fields that show the manufacturer’s limit.

Changing the robot model resets the joint limits, see Selecting a robot.

Vision

The Vision tab lists the vision systems of the solution with their calibration status. Use it to check that the collision objects, especially the bins, are where the real ones are.

Vision tab with two vision systems with simulated calibration, one expanded with its sensor, visibility, connect button and sensor pose

The Vision tab of the palletizing cell with one vision system expanded. Both vision systems have a simulated calibration.

Each vision system shows one of these calibration states:

  • Calibrated – it can be used to check the scene.

  • Uncalibrated – calibrate it first, see Calibration.

  • Simulated calibration – the sensor was placed in the scene by hand (see Edit below). A solution with such a vision system cannot be deployed in production mode.

Click a vision system to expand it:

  • Sensor ID – with the state of the sensor, for example Connected, Unreachable or Occupied / Not ready.

  • Calibration space and sensor position – the calibration type.

  • Visibility – shows or hides the sensor model, its scanning volume and its origin.

  • Trigger – takes a scan and shows it in the viewer. While the sensor is not connected, the button is Connect.

  • Position / Rotation – the pose of the sensor from the calibration.

  • Edit – move the sensor in the scene by hand. Save to vision system stores the pose as a simulated calibration. It is useful for tuning settings without a calibration, but not for production.

Note

  • For a MultiView vision system, only the primary sensor is shown and can scan.

  • A hand-eye vision system appears only when a robot is selected.

  • Only one sensor can be connected at a time. If several vision systems use the same sensor, it is connected in all of them, and also on the PhoXi page.

Checking the scene with a scan

With a calibrated vision system, trigger a scan and move the collision objects until their models overlap the point cloud.

Point cloud of a scan in yellow and green over the grey cell model and the blue bin model

A scan over the scene of the CAD Picking example solution. The points of the bin lie on the blue bin model, so the bin is in the right place.

Scene States

When the cell changes during picking, for example when a cover opens or a second bin moves in, use scene states. An object assigned to a state is in the collision model only while that state is active. The robot program switches states with the Change scene state request.

The same cell in two scene states. In state 2 (right), two virtual collision objects (red) around the 3D sensor are part of the collision model. In state 1 (left), they are not.
Robot cell in scene state 1 with the 3D sensor and no collision objects around it Robot cell in scene state 2 with red virtual collision objects around the 3D sensor

Scene state 1

Scene state 2

Managing scene states

Scene States tab with Add scene state and two states, one of them Initial

The Scene States tab with two states. Red frames: Add scene state and the list of states.

  • By default the scene has one state. A solution can have up to four.

  • Click Add scene state to add one.

  • Each state shows its ID and name, a sync icon, a Show state / Stop showing state button, Initial or Set initial, and Delete scene state.

  • One state is always Initial. It becomes active when the solution is deployed, and it cannot be deleted.

  • Select a state to edit its Unique ID, which the robot program uses to request it, and an optional Name.

Scene states on the Scene tab

  • The Scene State field of an object is Any (the object is in every state) or one state.

  • Child objects have the scene state of their parent.

  • The state buttons above the object list show one state at a time. With none selected, all objects are shown.

Scene states on the Robot tab

The Active Scene State selector on the Robot tab chooses the state the virtual robot works with. The viewer reloads with the selected state.